home *** CD-ROM | disk | FTP | other *** search
/ The Original Shareware 1.1 / The Original Shareware (WeMake CDs)(Volume 1.1)(CDs, Inc)(1993).iso / 19 / madtrb40.zip / TPVERS.200 < prev    next >
Text File  |  1985-09-08  |  3KB  |  75 lines

  1. {*********************************************************************}
  2. {*                 T  P  V  E  R  S  .  2  0  0                      *}
  3. {*                                                                   *}
  4. {*          O p e n  C o m p i l e r :   and get Version             *}
  5. {*                                                                   *}
  6. {*               Separate This file into TPVERS.200                  *}
  7. {*********************************************************************}
  8. Procedure Open_Compiler;
  9.    Var
  10.       TempStr :string[8];               {Tempory Trash String }
  11.     Begin
  12.         TempStr := 'VERSIONS';          { Find 'Versions in Zap file }
  13.         Version := 0;                   { No version found yet       }
  14.         Version_Key[Version].Name := '';{ No Version as of yet}
  15.  
  16.         Find_Zap(TempStr,Return_code);  { Set up the Version Key array}
  17.  
  18.         If (Return_Code = 0) then            { When "VERSION" found in zap   }
  19.            Begin { Find Version}             { file, read Compiler Version   }
  20.               I:=0;                          { Jmp Address and Keyname until }
  21.                                              { Verify Address = zero         }
  22.               repeat {until Versify = 0}
  23.                  I := I +1;
  24.                  Read(Zap_File,
  25.                      Version_Key[i].Verify);
  26.                      If Version_Key[i].Verify <> 0 then
  27.                         Begin
  28.                         Readln(Zap_File,
  29.                                Version_Key[i].UniqueWord,
  30.                                Version_Key[i].Name);
  31.                         end;
  32.               until (Version_Key[i].Verify=0);
  33.  
  34.               Actual_Versions := I -1;           { Set Number of Version Found  }
  35.               For I := 1 to Actual_Versions do   { Remove Blanks from Version   }
  36.                  While (Pos(' ',Version_Key[i].Name) <> 0)
  37.                    Do   Delete(Version_key[i].Name,
  38.                                Pos(' ',Version_Key[i].Name),1);
  39.  
  40.            Return_Code := 1;              { Set Error Return code      }
  41.            Assign(ComOUT_File,ComOut_Filename);
  42.            {$I-} Reset(ComOUT_File);      { Open the copied .COM file     }
  43.            {$I+} Return_Code := IOresult;
  44.            If  ( Return_Code <> 0 ) then
  45.               Pause('Please Specify .COM files first');
  46.  
  47.            If ( Return_Code = 0) then
  48.             Begin
  49.             Return_Code := 1;
  50.  
  51.                For I := 1 to Actual_Versions do
  52.                Begin                          { Seek to Verify Word        }
  53.                Seek(ComOut_File,Version_Key[i].Verify-$100);
  54.                Read(ComOut_File,B,A);         { Read the Jump Address      }
  55.                ComStartAddr := B + A shl 8 ;
  56.                If (ComStartAddr = Version_Key[I].UniqueWord) then
  57.                   Begin
  58.                   Version := I;
  59.                   Return_Code := 0;
  60.                   end;
  61.                end;
  62.  
  63.             If (Return_code <> 0) then
  64.                   Begin
  65.                   Beep(600);
  66.                   Pause(' '+ComOut_Filename+' is not a TURBO Compiler');
  67.                   Return_Code := 1;
  68.                   end;
  69.            End; { Return_Code = 0 }
  70.       End; {Find Version}
  71.     Close(Zap_File);
  72.     End; {Open_Compiler}
  73. {......................................................................}
  74.  
  75.